/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package jogodavelha;
import java.util.Scanner;

/**
 *
 * @author isa
 */
public class Jogador {
    int x,y;
    Tabuleiro tabuleiro = new Tabuleiro();
    public Scanner xy = new Scanner(System.in); //funcao pra ler
    public Jogador(){       
    }
    
    public void Digite(){
        do{
            System.out.println("Digite a posicao x");
            x = xy.nextInt();
            System.out.println("Digite a posicao y");
            y = xy.nextInt();
        }while(Teste(x, y) == false);      
    }
    
    public boolean Teste(int x, int y){
        if(x<3 && y<3){         //confere se a posicao é valida
            if(tabuleiro.getPosicao(x, y) == 0)
                return true;
        }
        return false;
    }
    
    public boolean checarVitoria(){                 //de acordo com a soma dos valores das posiçoes vai dizer quem venceu
        for(int i = 0; i < 3; i++){                     //testando linhas
          if((tabuleiro.getPosicao(i, 0) + tabuleiro.getPosicao(i, 1) + tabuleiro.getPosicao(i, 2)) == -3){
              System.out.println("Jogador 1 venceu!");
              return true;
          }
          if((tabuleiro.getPosicao(i, 0) + tabuleiro.getPosicao(i, 1) + tabuleiro.getPosicao(i, 2)) == 6){
             System.out.println("Jogador 2 venceu!");
             return true;
          }
          
        }                               //testando colunas
        for(int j = 0; j < 3; j++){
            if(tabuleiro.getPosicao(0,j) + tabuleiro.getPosicao(1,j) + tabuleiro.getPosicao(2,j) == -3){
                System.out.println("Jogador 1 venceu!");
                return true;
            }
            if(tabuleiro.getPosicao(0,j) + tabuleiro.getPosicao(1,j) + tabuleiro.getPosicao(2,j) == 6){
                System.out.println("Jogador 2 venceu!");
                return true;
            }
        }
        //testando diagonais
        if(tabuleiro.getPosicao(0,0) + tabuleiro.getPosicao(1,1) + tabuleiro.getPosicao(2,2) == -3){
            System.out.println("Jogador 1 venceu!");
            return true;
        }
        if(tabuleiro.getPosicao(0,0) + tabuleiro.getPosicao(1,1) + tabuleiro.getPosicao(2,2) == 6){
            System.out.println("Jogador 2 venceu!");
            return true;
        }
        if(tabuleiro.getPosicao(0,2) + tabuleiro.getPosicao(1,1) + tabuleiro.getPosicao(2,0) == -3){
            System.out.println("Jogador 1 venceu!");
            return true;
        }
        if(tabuleiro.getPosicao(0,2) + tabuleiro.getPosicao(1,1) + tabuleiro.getPosicao(2,0) == 6){
            System.out.println("Jogador 2 venceu!");
            return true;
        }
        return false;
    }
    
    //coloca valores de O e X
    public boolean Escreve(int jog){
        boolean parar = false;
        if(jog == 1){
            tabuleiro.setTabuleiro(x, y, -1);   //se for jogador -1, poe O
            tabuleiro.Desenha();
            parar = checarVitoria();
        }
        if(jog == 0){
            tabuleiro.setTabuleiro(x, y, 2);   //se for jogador 2, poe X
            tabuleiro.Desenha();
            parar = checarVitoria();
        }
        return parar;
    }
}
